.page-main {
    position: relative;
    display: flex;
    flex-direction: column;
    background-color: #fff;
    height: 100vh;
    padding-bottom: constant(safe-area-inset-bottom);
    padding-bottom: env(safe-area-inset-bottom);
    &.is-round {
        border-radius: 20rpx 20rpx 0 0;
        overflow: hidden;
    }

    .page-header {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 90rpx;
        border-bottom: 1rpx solid #f5f5f5;

        .title {
            margin: 0 120rpx;
            flex: 1;
            height: 90rpx;
            line-height: 90rpx;
            font-weight: bold;
            font-size: 28rpx;
            text-align: center;
        }

        .header-left {
            position: absolute;
            left: 20rpx;
            height: 40rpx;
            line-height: 40rpx;
        }

        .header-right-back {
            display: flex;
            align-items: center;
            justify-content: center;
            position: absolute;
            right: 10rpx;
            width: 40rpx;
            height: 40rpx;
            border-radius: 50%;
            border: 10rpx solid #fff;
            background-color: #e5e5e5;
            box-sizing: content-box;
            .back-icon {
                font-size: 22rpx;
                color: #fff;
            }
        }

        .header-right {
            position: absolute;
            right: 20rpx;
            height: 40rpx;
            line-height: 40rpx;
        }
    }

    .page-content {
        position: relative;
        flex: 1;
    }

    .page-footer {
        padding-bottom: constant(safe-area-inset-bottom);
        padding-bottom: env(safe-area-inset-bottom);
        .page-icon-footer {
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 20rpx;

            .icon {
                font-size: 36rpx;
                width: 68rpx;
                height: 68rpx;
                line-height: 68rpx;
                border-radius: 50%;
                text-align: center;
                color: #fff;
                background-color: #e5e5e5;
            }
        }
    }
}